StateAFL: Greybox fuzzing for stateful network servers
نویسندگان
چکیده
Fuzzing network servers is a technical challenge, since the behavior of target server depends on its state over sequence multiple messages. Existing solutions are costly and difficult to use, as they rely manually-customized artifacts such protocol models, parsers, learning frameworks. The aim this work develop greybox fuzzer (StateaAFL) for that only relies lightweight analysis program, with no manual customization, in similar way what AFL achieved stateless programs. proposed instruments at compile-time, insert probes memory allocations I/O operations. At run-time, it infers current by taking snapshots long-lived areas, applying fuzzy hashing algorithm (Locality-Sensitive Hashing) map contents unique identifier. incrementally builds machine guiding fuzzing. We implemented released StateaAFL open-source software. As basis reproducible experimentation, we integrated large set popular protocols, customization accomodate protocol. experimental results show can be applied achieve comparable, or even better code coverage bug detection than customized Moreover, our qualitative shows states inferred from reflect using response codes
منابع مشابه
Pulsar: Stateful Black-Box Fuzzing of Proprietary Network Protocols
The security of network services and their protocols critically depends on minimizing their attack surface. A single flaw in an implementation can suffice to compromise a service and expose sensitive data to an attacker. The discovery of vulnerabilities in protocol implementations, however, is a challenging task: While for standard protocols this process can be conducted with regular techniques...
متن کاملReviewing KLEE's Sonar-Search Strategy in Context of Greybox Fuzzing
Automatic test-case generation techniques of symbolic execution and fuzzing are the most widely used methods to discover vulnerabilities in, both, academia and industry. However, both these methods suffer from fundamental drawbacks that stop them from achieving high path coverage that may, consequently, lead to discovering vulnerabilities at the numerical scale of static analysis. In this prese...
متن کاملEager Replication for Stateful J2EE Servers
Replication has been widely used in J2EE servers for reliability and scalability. There are two properties which are important for a stateful J2EE application server. Firstly, the state of the server and the state of the backend databases should always be consistent. Secondly, each request from a client should be executed exactly once. In this paper, we propose a replication algorithm that prov...
متن کاملA Stateful Intrusion Detection System for World-Wide Web Servers
Web servers are ubiquitous, remotely accessible, and often misconfigured. In addition, custom web-based applications may introduce vulnerabilities that are overlooked even by the most security-conscious server administrators. Consequently, web servers are a popular target for hackers. To mitigate the security exposure associated with web servers, intrusion detection systems are deployed to anal...
متن کاملCompiling Stateful Network Properties for Runtime Verification
Networks are difficult to configure correctly, and tricky to debug. These problems are accentuated by temporal and stateful behavior. Static verification, while useful, is ineffectual for detecting behavioral deviations induced by hardware faults, security failures, and so on, so dynamic property monitoring is also valuable. Unfortunately, existing monitoring and runtime verification for networ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Empirical Software Engineering
سال: 2022
ISSN: ['1382-3256', '1573-7616']
DOI: https://doi.org/10.1007/s10664-022-10233-3